using Game;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

namespace GameStates
{

    /**
     * 游戏状态：Main（主界面）
     * 
     * 功能说明：
     * - 游戏的主界面状态
     * - 加载主场景，显示游戏主界面
     * 
     * 设计说明：
     * - 继承自BaseState<GameApp>基类
     * - 使用Unity场景管理加载主场景
     * 状态流程：
     * 1. 进入状态：加载Main场景
     * 2. 更新状态：
     * 3. 退出状态：
     */
    public class GameStateMain : BaseState<GameApp>
    {
        /**
         * 进入Main状态
         * 
         * 功能：
         * - 加载主场景
         * - 显示游戏主界面
         * 
         * 执行时机：
         * - 状态机切换到Main状态时调用
         * 
         * 注意事项：
         * - 使用SceneManager.LoadScene加载场景
         * - 确保Main场景已添加到Build Settings
         */
        public override void Enter()
        {
            Debug.Log("GameStateMain: 进入Main状态 - 加载主场景");

            // 直接调用场景加载
            SceneManager.LoadScene("Main");
        }

        /**
         * 退出Main状态
         * 
         * 功能：
         * - 清理主界面相关资源
         * 
         * 执行时机：
         * - 状态机从Main状态切换时调用
         */
        public override void Exit()
        {
            Debug.Log("GameStateMain: 退出Main状态 - 清理主界面资源");

        }
    }

}
